//
//  RequstMainTool.h
//  TestDemo
//
//  Created by zhangwenqiao on 2018/12/6.
//  Copyright © 2018年 zhangwenqiao. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

//Block声明
typedef void(^success)(NSURLSessionDataTask *task, id responseObject);
typedef void(^failure)(NSURLSessionDataTask *task, NSError *error);

@interface RequstMainTool : NSObject
/*
 主要使用方案
 因为后台进行的数据请求的参数传递为 x-www-form-urlencoded格式 不能使用AFNetworking
 
 action: 必填 用来标识调用的是哪个接口 -----重要-----
 
 url:选填 后台只有一个网络地址：http://47.98.243.228:8081/app/v1
 dicBody:选填 后台接收参数为 {header:{}, body:{}} Json类型(字典嵌套) header在内层直接封装 只暴露body
 token:选填 某些接口需要进行token传递标识
 
 success:block参数 用来进行请求成功后的数据传递
 failure:block参数 用来进行请求失败后的错误传递
 */
+ (void)requestUrl:( NSString * _Nullable )url Action:(NSInteger)action BodyDic:( NSMutableDictionary * _Nullable )dicBody Token:( NSString * _Nullable )token success:(success)success failure:(failure)failure;



/*
 备选方案  防止AF发生更改
 纯原生请求封装  里面不接入第三方代码
 */
+ (void)protogenesis:(NSURL * _Nullable)url Action:(NSInteger)action BodyDic:(NSMutableDictionary * _Nullable)dicBody Token:(NSString * _Nullable)token success:(success)success failure:(failure)failure;

@end

NS_ASSUME_NONNULL_END
